﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WindowsFormsApplication2
{
    class Regra4 : Regras
    {
        public string[,] priMatriz;

        public string[,] getMatriz(string[] lines)
        {
            priMatriz = new string[lines.Length, 95];
            //priMatriz = new string[1,1];
            string troca;
            int coLines = 0; //341
            StringBuilder auxTroca = new StringBuilder();

            for (int linha = 0; linha < lines.Length; linha++)
            {
                for (int coluna = 0; coluna < 95; coluna++)
                {
                    switch (coluna)
                    {
                        case 0:
                            troca = lines[linha][coluna].ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 1:
                            for (coLines = 1; coLines <= 12; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 9:
                            auxTroca.Remove(0, auxTroca.Length);

                            for (; coLines <= 20; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 10:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 28; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 11:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 53; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 12:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 58; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 14:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 60; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 15:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 70; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 18:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 85; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 77:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines=86; coLines <= 93; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 55:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines=94; coLines <= 98; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 56:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 123; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 57:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 125; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 58:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 127; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 59:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 129; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 60:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 149; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 61:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 152; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 62:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 156; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 63:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 166; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 64:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 168; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 65:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 174; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 68:
                            auxTroca.Remove(0, auxTroca.Length);
                            for (; coLines <= 180; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 78:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines=181; coLines <= 183; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 81:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 184; coLines <= 213; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 80:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 214; coLines <= 216; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 67:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 217; coLines <= 256; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 73:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 257; coLines <= 257; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 79:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 258; coLines <= 270; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 76:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 271; coLines <= 275; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;
                        case 92:
                            //Regra específica, devido a localização do Header no arquivo
                            auxTroca.Remove(0, auxTroca.Length);
                            for (coLines = 276; coLines <= 349; coLines++)
                            {
                                troca = lines[linha][coLines].ToString();
                                auxTroca.Append(troca);
                            }

                            troca = auxTroca.ToString();
                            priMatriz[linha, coluna] = troca;
                            break;




                    }
                }
            }
            return priMatriz;
        }
    }
}
